#ifndef FOG_SAMPLE_H
#define FOG_SAMPLE_H
#include "SampleBase.h"
#include "objmesh.h"
#include "glm\glm.hpp"
#include "glslprogram.h"
#include "cube.h"
#include "grid.h"
namespace ShaderLab {
	class FogSample : public SampleBase {
	public:
		FogSample();
		~FogSample();

		void Init();
		void Update(float time);
		void Render();
		void Imgui();
		void ShutDown();
	public:
		void CreateShader();
	private:
		GLSLProgram program;
		glm::mat4 model, view, projection;
		std::unique_ptr<Cube> cube;
		std::unique_ptr<Grid> grid;
		float minDist, maxDist, fogDensity;
		glm::vec3 fogColor;
		glm::vec3 camPos;
		int currIndex;
	};
}
#endif // !TEMPLATE_SAMPLE_H

